package datosClient;
import java.lang.Math;
import java.util.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author mimi
 */
//import java.lang.String;

/*HACER EL RANDOM PARA EL ID t_t_t_t_t_t_t_t_t_t__t*/

public class Partida
{
    private Jcalendar2 fechaInicio;
   // private Jcalendar2 fechaActual;
    private String partidaID;
    private boolean ganoPartida;/*gano si ganoPartida = True = 1 */
  //  private boolean partidaGuardada;

    public Partida()
    {
        fechaInicio = new Jcalendar2();
      //  fechaActual = new Jcalendar2();
        partidaID = "";
        ganoPartida = false;
       // partidaGuardada = false;
    }
    public Partida(Jcalendar2 fechaInicio, Jcalendar2 fechaActual)
    {
        fechaInicio = new Jcalendar2();
       // fechaActual = new Jcalendar2();
        partidaID = "";/*aqui llamo al random*/
        ganoPartida = false;
       // partidaGuardada = false;
    }
/*
    public boolean isPartidaGuardada() {
        return partidaGuardada;
    }

    public void setPartidaGuardada(boolean partidaGuardada) {
        this.partidaGuardada = partidaGuardada;
    }
*/
    public Jcalendar2 getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Jcalendar2 fechaInicio) {
        this.fechaInicio = fechaInicio;
    }
/*

    public Jcalendar2 getFechaActual() {
        return fechaActual;
    }

    public void setFechaActual(Jcalendar2 fechaActual) {
        this.fechaActual = fechaActual;
    }
*/
    public boolean isGanoPartida() {
        return ganoPartida;
    }

    public void setGanoPartida(boolean ganoPartida) {
        this.ganoPartida = ganoPartida;
    }

    public String getPartidaID() {
        return partidaID;
    }

    public void setPartidaID(String partidaID,Usuario user)
    {
       // RandomID(user);
        this.partidaID = partidaID;
    }
/*
     public boolean BuscarNumRandomList(String valor,Usuario user)
        {
           // List <String> listrandom=new ArrayList();;

            Iterator ite = user.getListRandom().iterator();
            int cont =0;
            int comparo;

            Object [] arregloRandom; String valorArregloRandom="";

            arregloRandom = user.getListRandom().toArray();

            while (ite.hasNext())
            {
                valorArregloRandom="";
                valorArregloRandom = (String) arregloRandom[cont];
                comparo=valor.compareTo(valorArregloRandom);

                if (comparo == 0)
                {
                    return true;
                }
                cont = cont++;
            }
            return false;
        }




        public void RandomID(Usuario user)
        {
            String valor="";
            int posicion=0;
            boolean estaNum = false;

            while (!estaNum)
            {
              valor="";
              posicion = (int)(Math.random());
              valor = String.valueOf(posicion);
              estaNum = BuscarNumRandomList(valor,user);
            }

            if (estaNum)
            {
                partidaID=valor;
                user.getListRandom().add(valor);//lo inserto en la lista auxiliar de random
            }
           // return valor;
        }
*/

 /*   public void generarIDprovisional()
    {
       /* int i;

        for (i = 0; i < 10; i++)
        {
        double doble=0;
        doble =  Math.random();

        partidaID = (String)doble;
       // }


  *
  *
  *
  *
  * posicion = (int) (Math.random() * piezas.size());


    
  *
  *
  *
  *
  *
    }*/
//No puedo generar el hashcode para el id

    public boolean imprimirArrayLista()
    {
        System.out.println("\nDatos de la Partida\n");

            System.out.println("\nFecha de Inicio: "+fechaInicio);
            //System.out.println("Fecha actual: "+fechaActual);
            System.out.println("ID: "+partidaID);
            System.out.println("Ganada la partida: "+ganoPartida);
          //  System.out.println("Partida guardada: "+auxiliarPartida.isPartidaGuardada()+"\n");

        return true;
    }


    public int hashCode()
    {
       int hash = 0;
       hash += (partidaID != null ? partidaID.hashCode():0);
       System.out.print("Hash dentro del hashCode.:  "+hash+ "\n");
       return hash;
    }
    //Para partidaID
    public boolean equals(Object obj)
    {
        Partida auxObj;

        if (! (obj instanceof Partida))
            return false;

        auxObj = (Partida) obj;
    
        if (this.partidaID.hashCode() == auxObj.partidaID.hashCode())
            return true;

    return false;
    }
}
